package com.yunxin.core.application.service;

import com.yunxin.core.application.command.contact.SmsMessageCallbackCommand;

import java.util.List;

/**
 * @author zero°
 * @since 2023-07-12
 */
public interface ContactApplicationGatewayService {

    /**
     * 发送短信验证码
     * @param taskCode taskCode
     * @param phone phone
     * @param scene scene
     * @param clientIp clientIp
     */
    void sendSmsVerificationCode(String taskCode, String phone, String scene, String clientIp);

    /**
     * 验证短信验证码
     * @param phone phone
     * @param verificationCode verificationCode
     * @param scene scene
     * @return Result<Boolean>
     */
    boolean verificationSmsCode(String phone, String verificationCode, String scene);

    /**
     * 短信回调
     * @param commands commands
     */
    void smsCallback(List<SmsMessageCallbackCommand> commands);
}
